今天開始會介紹如何在 MongoDB 資料庫中進行 CRUD(新增、刪除、更新、查詢)基本操作。首先,先來介紹一些 MongoDB 資料庫的基本概念。
在 MongoDB 資料庫裡,最基本的概念以下四項:database、collection、document 及 field。如果有學習過 MySQL 的話,則可以從以下的對應關係來認識這四項:
MongoDB | MySQL |
---|---|
database | database |
collection | table |
document | row |
field | column |
一個 database 是由一個或多個 collections 所組成,而每個 collection 則是由一個或多個 documents 所組成。
在 MongoDB 中每一筆被儲存的資料為 document,其資料結構為 BSON(binary JSON),是一種 JSON-like 的格式。
{
"_id" : ObjectId("5f572f6f771ff988c1794832"),
"first_name" : "Robin",
"last_name" : "Jackman",
"title" : "Software Engineer",
"salary" : 3000,
"Internship" : true
},
{
"_id" : ObjectId("5f573183771ff988c1794833"),
"first_name" : "Taylor",
"last_name" : "Edward",
"title" : "Software Architect",
"salary" : 7500,
"Internship" : false
}
上圖 BSON 格式的內容為由 {} 括起來的兩個 documents,每個 document 是由 field-value 的形式來儲存資料,每個欄位 field 對應的值為 value,例如上圖中第一個 document 的 field-value 則可以用下方表格來呈現:
field | value |
---|---|
first_name | robin |
last_name | Jackman |
title | Software Engineer |
salary | 3000 |
Internship | true |
mongo Shell 是用來操作 MongoDB 的 JavaScript 互動式介面,可以在這裡對資料庫中的資料進行查詢(query)或更新(update),以及其他相關的資料庫管理操作。
在 terminal 中輸入 mongo
即可進入 mongo Shell:
在前四行可以看到 mongo Shell 的相關資訊:
在 mongo Shell 裡可以使用各種指令來對資料進行操作,這裡先簡單介紹幾個最常用的指令:
cls
: clear,清空視窗畫面help
: 指令相關資訊exit
: 離開 mongo Shellshow dbs
: 列出目前存在的 database
use <db_name>
: 指定 database,若不存在則創建新 database
createCollection(name, {size: ..., capped: ..., max: ...})
: 建立 collection(可指定大小、上限等)
db.getCollectionNames()
: 列出目前 database 裡的 collection
db.getName()
: 顯示當前位置
db.dropDatabase()
: 刪除當前的 database
今天簡單介紹了 MongoDB 的基本概念以及在 mongo Shell 中操作資料庫的基本指令,下一篇將會介紹如何在 MongoDB 裡進行 insert 新增資料及 delete 刪除資料。